import { $http } from '@/utils/utils';
import { FormDataType } from '@/common-typings';
import request from '@/utils/request';

// 查询表格数据
const USER_RISK_LIST_PATH = '/gl/user/risk/manage/list/risk';
// 导出用户信息
const EXPORT_USER_RISK_LIST_PATH = '/gl/user/risk/manage/list/export';
// 更新用户信息
const UPDATE_USER_RISK_LIST_PATH = '/gl/user/risk/manage/save';
// 锁定用户
const LOCK_USER_PATH = '/gl/user/manage/update/lock';
// 获取会员层级列表
const GET__USER_LEVEL_PATH = '/gl/manage/user/level/list';
// 修改层级
const MODIFY_USER_LEVEL_PATH = '/gl/manage/user/level/lock';

// 查询表格数据
export async function getUserListData(params: FormDataType) {
  return request(USER_RISK_LIST_PATH, { method: 'GET', params });
}

// 导出用户信息
export async function exportUserRiskList(params: FormDataType) {
  return request(EXPORT_USER_RISK_LIST_PATH, { method: 'GET', params });
}

/**
 * 更新用户信息
 * @param params => {
 *    usernames: string 用户名列表。 （字符串，以逗号分隔)
 *  }
 */
export async function updateUserList(params: FormDataType) {
  return $http(UPDATE_USER_RISK_LIST_PATH, params);
}

/**
 * 设置用户的锁定状态
 * @param {object} param:{userIds,remark,optType}
 * userIds:string 更改状态对应的用户id用逗号连接的字符串
 * remark:string 申请锁定原因
 * optType:number 操作类型：4完全锁定，5间接锁定，6解除锁定, 7.完全锁定且删除绑定手机/邮箱
 * @returns {Promise<*>}
 */
export async function setUserLockStatus(param: FormDataType) {
  return $http(LOCK_USER_PATH, param);
}

/*
 * 获取会员层级
 * @param {number} levelType 层级类型 后台默认参数是会员0，代理是1，查找会员层级
 * @returns {*} Promise
 * */
export async function getUserLevelList(param: FormDataType) {
  return $http(GET__USER_LEVEL_PATH, param);
}

/**
 * 修改会员层级
 * param:{
 * levelId: number 层级IDs
 * username: string 更改状态对应的用户username用逗号连接的字符串
 * }
 * @returns {Promise<*>}
 * @param param
 */
export async function modifyUserLevel(param: FormDataType) {
  return $http(MODIFY_USER_LEVEL_PATH, param);
}
